/*
    Author: Christopher Diggins
    License: MIT Licence 1.0
    Website: http://www.heron-language.com
*/

#ifndef HERON_HPP
#define HERON_HPP

#define _CRT_SECURE_NO_WARNINGS 1

extern "C" {
#include "lualib/lua.h"
#include "lualib/lualib.h"
#include "lualib/lauxlib.h"
}

#include <stdio.h>
#include <stdlib.h>
#include <list>
#include <typeinfo>
#include <string>
#include <algorithm>
#include <sstream>
#include <stdexcept>
#include <map>
#include <queue>
#include <cmath>

#include "util.hpp"
#include "lua_machine.hpp"

#include "YARD/include/yard.hpp"
#include "YARD/include/yard_io.hpp"
#include "YARD/grammars/yard_heron_grammar.hpp"

//#include "YARD/grammars/yard_cat_grammar.hpp"
//#include "YARD/grammars/yard_xml_grammar.hpp"

typedef yard::SimpleTextParser Parser;
typedef Parser::Node Node;

//#include "xml_parser.hpp"

#include "cvml.hpp"
#include "llscheme.hpp"

#include "heron_ast.hpp"
#include "heron_to_llscheme_post_process.hpp"
#include "heron_to_llscheme.hpp"
#include "heron_interpreter.hpp"

#include "cvml_compiler.hpp"

#endif
